1. Field of the Invention
The present invention relates to a printer, a printing method, and a data storage medium carrying a machine-readable computer program implementing the printing method.
2. Description of the Related Art
One type of color printer widely available today uses a print head having a plurality of printing elements each used to print a color different from the colorprinted by another printing element. This print head moves across a printing medium, such as paper, film, etc., orthogonally to the direction in which the printing medium is advanced. The printing elements are driven as required during this movement to print the desired text or image on the printing medium (referred to below simply as xe2x80x9cpaperxe2x80x9d). Responding to a demand for higher print quality, the number of colors has increased. In addition to the common four-color CYMK (cyan, yellow, magenta, black) printers, printers using six colors, including light colors, to blend colors according to color density have even been proposed. Color printers of this type also use a variety of different print head types, including inkjet, thermal transfer, and dot impact type print heads.
Methods for achieving high speed printing with these color printers are also known. JP-B-4-28231, for example, teaches to count the number of times each printing element is driven, and to determine the range of print head movement based on the accumulated total. The problem with the method taught in JP-B-4-28231, however, is that the printing element drive count is accumulated for each color. This makes processing complicated. Applying this method, therefore, becomes increasingly difficult as the number of colors increases.
There is, therefore, a need to achieve high speed color printing without relying on such a counting method.
An object of the present invention is to provide a printer that drives plural printing elements during bidirectional movement and achieves high speed printing. Another object of the invention is to provide a printing method for said printer, and to a data storage medium carrying a computer-readable program achieving this printing method.
These objects are achieved with a printer as claimed in claim 1, a printing method as claimed in claim 22 and a storage medium as claimed in claim 25, respectively.
To achieve this object, our invention teaches a printer having a printing medium transportation section for transporting a printing medium; a print head having a plurality of printing element arrays disposed thereto with a specific physical offset therebetween, each printing element array having a plurality of printing elements; a head transportation unit for moving the print head in a print head scanning direction orthogonal to the direction in which the paper transportation section transports the printing medium; a plurality of image data storage units disposed in correlation to the plural printing element arrays for storing with correlation to a dot column position in the print head scanning direction drive data indicative of whether a printing element is driven or non-driven; a logic device for performing a logic operation on drive data stored in plural image data storage units correlated to the print head movement position, and calculating logic operation results for each print head movement position, said logic operation results indicative of whether at least one drive data for the print head movement position contains drive command data for driving one of the printing elements; a print head movement range calculator for obtaining print head movement range information identifying a print head movement range required to print drive data stored in an image data storage unit based on the logic operation results from the logic device; and a movement controller for driving the head transportation unit to move the print head in the print head movement range identified from the print head movement range information calculated by the print head movement range calculator.
Performing a logic operation correlated to a print head movement position is used herein for the following two cases: (1) correlating the drive data stored in the image data storage unit to a particular print head position based on the relationship to the position of a particular reference part of the print head (such as a particular printing element array) without considering the physical offset distance between this reference part and the other printing element arrays of the print head, and (2) correlating the drive data after compensating for the offset distance between this reference part of the print head and each of the other printing element arrays of the print head.
Logic information (logic operation results information) indicating if any drive data corresponding to the plural printing elements of a printing element array contains drive command data (indicating that a particular printing element is driven to print) can thus be simultaneously and easily obtained for all printing element arrays with the logic information correlated to each print head movement position. Furthermore, it is also possible to easily and quickly identify from this logic information the smallest physical range through which the print head must move in order to print the drive data. As a result, the printing speed (throughput) can be improved.
The logic device of this printer further preferably performs a logic operation on all drive data stored in the plural image data storage units correlated to the print head movement position in dot column units to calculate logic operation results for each print head movement position indicating if at least one of the drive data for that dot column is drive command data; and the print head movement range calculator determines the print head movement range by compensating the print head movement range detected from the logic operation results obtained by the logic device for the offset of the printing element array.
Logic operations are thus performed at each dot column position using all drive data corresponding to that dot column position. Because the drive data indicates whether the printing elements of the printing element array are driven at a particular dot column position, and drive data for each printing element array is stored in corresponding plural image data storage units, the horizontal range (that is, the range in the print head movement direction) in which image data of multiple colors is present can be easily determined. In addition, by compensating for the offset between printing element arrays by, for example, adding the offset between the printing element arrays for each color to the horizontal range of the image data, the smallest range through which the print head must move in order to print all image data can be easily and quickly identified. This contributes to further improvement in the printing speed.
The print head movement range calculator can also compensate for this offset by adding the maximum offset between the plural printing element arrays to the print head movement range detected from the logic operation results by the logic device. It is therefore possible to easily and quickly compensate for the offset between the printing element arrays for each of the printable colors.
Alternatively, the logic device of a printer according to the present invention compensates drive data for each dot column position stored in the plural image data storage areas according to the offset of each printing element array, performs a logic operation on the compensated drive data correlated to a print head position, and calculates logic results information indicative of whether drive command data for driving at least one of the plural printing elements of the plural printing element arrays is present at a particular dot column position as a logic value compensated for the printing element array offset at each print head movement position.
In this case the logic operation is performed after compensating for the offset between printing element arrays. As a result, it is not necessary for the print head movement range calculator to compensate for the offset between printing element arrays, unnecessary movement resulting from the printing element array offset can be prevented, and the printing speed can be increased accordingly.
Preferably, the logic device compensates for the offset amount by defining one of the plural printing element arrays as a reference printing element array correlated to a specific dot column position, and adds or subtracts a dot count equivalent to a physical offset from the reference printing element array; and calculates logic operation results at each print head movement position indicating whether the drive data corresponding to the print head movement position contains at least one drive command data by calculating as a compensated dot column position the position of a drive data array physically printable by a respective printing element array when the reference printing element array is at a dot position, and applying a logic operation to the reference printing element array drive data and drive data corresponding to the compensated dot column position stored in the image data storage units for the plural printing element arrays other than the reference printing element array. This makes it possible to set the most efficient reference position according to the print head arrangement or the properties of the data to be printed.
A computer-readable program achieving a printer and printing method according to the present invention as described above can be recorded on Compact Disc (CD), floppy disk, hard disk, magneto-optical disc, Digital Video Disc (DVD), or magnetic tape.
A computer-readable program achieving a printer and printing method according to the present invention as described above can also be placed on a network [World Wide Web] server for access via the Internet or other network so that users can download the program from the server for storage to printer ROM or other memory to update the printer driver. The program can then be run on the printer to achieve the control method of the present invention.